Beyond Simple Request Processing with RAMCloud
نویسندگان
چکیده
RAMCloud is a scale-out data center key-value store designed to aggregate the DRAM of thousands of machines into petabytes of storage with low 5 μs access times. RAMCloud was an early system in the space of low-latency RDMA-based storage systems. Today, it stands as one of the most complete examples of a scalable low-latency store; it has features like distributed recovery, low fragmentation through a specialized parallel garbage collector, migration, secondary indexes, and transactions. This article examines RAMCloud’s key networking and dispatch decisions, and it explains how they differ from other systems. For example, unlike many systems, RAMCloud does not use one-sided RDMA operations, and it does not partition data across cores to eliminate dispatch and locking overheads. We explain how major RAMCloud functionality still exploits modern hardware while retaining a loose coupling both between a server’s internal modules and between servers and clients by explaining our recent work on Rocksteady, a live data migration system for RAMCloud. Rocksteady uses scatter/gather DMA and multicore parallelism without changes to RAMCloud’s RPC system and with minimal disruption to normal request processing.
منابع مشابه
Network Interface Design for Low Latency Request-Response Protocols
Ethernet network interfaces in commodity systems are designed with a focus on achieving high bandwidth at low CPU utilization, while often sacrificing latency. This approach is viable only if the high interface latency is still overwhelmingly dominated by software request processing times. However, recent efforts to lower software latency in request-response based systems, such as memcached and...
متن کاملAt-most-once Algorithm for Linearizable RPC in Distributed Systems
In a distributed system, like RAMCloud, supporting automatic retry of RPC, it is tricky to achieve linearizability correct along with durability and liveness. Automatic retry may cause duplicate executions when a server fails after durably recording the original execution and before sending its response. We can cope with the problem by implementing at-most-once mechanism for RPC system. But in ...
متن کاملStateless Network Functions: Breaking the Tight Coupling of State and Processing
In this paper we present Stateless Network Functions, a new architecture for network functions virtualization, where we decouple the existing design of network functions into a stateless processing component along with a data store layer. In breaking the tight coupling, we enable a more elastic and resilient network function infrastructure. Our StatelessNF processing instances are architected a...
متن کاملBuilding a Columnar Database on Shared Main Memory-Based Storage
In the field of disk-based parallel database management systems exists a great variety of solutions based on a shared-storage or a shared-nothing architecture. In contrast, main memory-based parallel database management systems are dominated solely by the shared-nothing approach as it preserves the in-memory performance advantage by processing data locally on each server. We argue that this uni...
متن کاملDurability and Crash Recovery in Distributed In-memory Storage Systems a Dissertation Submitted to the Department of Computer Science and the Committee on Graduate Studies of Stanford University in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy
This dissertation presents fast crash recovery for the RAMCloud distributed in-memory data center storage system. RAMCloud is designed to operate on thousands or tens-of-thousands of machines, and it stores all data in DRAM. Rather than replicating in DRAM for redundancy, it provides inexpensive durability and availability by recovering quickly after server crashes. Overall, its goal is to reco...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- IEEE Data Eng. Bull.
دوره 40 شماره
صفحات -
تاریخ انتشار 2017